vfree((void *)((unsigned long)addr & PAGE_MASK));
}
+/* implementation of boot time ioremap for purpose of provising access
+to the vga console for privileged domains. Unlike boot time ioremap on
+other architectures, ours is permanent and not reclaimed when then vmalloc
+infrastructure is started */
+
void __init *bt_ioremap(unsigned long machine_addr, unsigned long size)
{
unsigned long offset, last_addr;
idx = FIX_BTMAP_BEGIN;
while (nrpages > 0) {
set_fixmap(idx, machine_addr);
-
- //unsigned long address = __fix_to_virt(idx);
-
-
-
-//direct_set_pte(address, direct_mk_pte_phys(machine_addr, PAGE_KERNEL_NOCACHE));
-
machine_addr += PAGE_SIZE;
--idx;
--nrpages;
}
-flush_tlb_all();
+ flush_tlb_all();
return (void*) (offset + fix_to_virt(FIX_BTMAP_BEGIN));
}
#if 0 /* We don't support these functions. They shouldn't be required. */
-void __init *bt_ioremap(unsigned long machine_addr, unsigned long size) {}
void __init bt_iounmap(void *addr, unsigned long size) {}
#endif
#define NR_FIX_BTMAPS 8 /* 32KB For the Dom0 VGA Console */
FIX_BTMAP_END,
FIX_BTMAP_BEGIN = FIX_BTMAP_END + NR_FIX_BTMAPS - 1,
-
+ /* our bt_ioremap is permenant unlike other architectures */
__end_of_permanent_fixed_addresses,
__end_of_fixed_addresses = __end_of_permanent_fixed_addresses
};